#ifndef __CHANNEL_HPP__
#define __CHANNEL_HPP__

#include <iostream>
#include <string>
#include <unistd.h>
using namespace std;
// 先描述，再组织，来管理管道
class Channel // 频道
{
public:
    Channel(int wfd, int who)
        : _wfd(wfd), _pid(who)
    {
        _name = "Chnanel-" + to_string(wfd) + "-" + to_string(who);
    }
    ~Channel()
    {
    }
    string Name()
    {
        return _name;
    }
    void Send(int cmd)
    {
        ::write(_wfd, &cmd, 4);
    }
    void Close()
    {
        ::close(_wfd);
    }
    pid_t Id()
    {
        return _pid;
    }

private:
    int _wfd;
    string _name; // 管道的名字
    int _pid;     // 子进程的pid
};


#endif